package main

import "fmt"

func main() {

	// 函数变量
	// var sum func(a, b int) int
	// sum = test
	// fmt.Println(sum(1, 2))
	// fmt.Println(sum(9, 8))

	// 多返回值
	// a1 := "a1"
	// a2 := "a2"
	// fmt.Println(getStr(a1, a2))

	dd := []int{2, 3, 4, 5}
	handle(dd, addOne)

	dd1 := []int{2, 3, 4, 5}
	handle(dd1, sunStract)

}

func test(m, n int) int {
	return m + n
}

func getStr(s1, s2 string) (string, string) {
	return s2, s1
}

func handle(nums []int, operate func([]int)) {
	operate(nums)
	fmt.Println(nums)
}

// 元素 + 1
func addOne(nums []int) {

	for i, v := range nums {
		nums[i] = v + 1
	}

}

// 元素 + 1
func sunStract(nums []int) {

	for i, v := range nums {
		nums[i] = v - 1
	}

}
